package com.jy.dao;

import com.jy.model.*;

import java.util.List;
import java.util.Map;

/**
    * MoneyManageDao 数据库操作接口类
    * Tue May 09 15:12:04 GMT+08:00 2017 zzp
    */ 


public interface MoneyManageDao{

	int insertMoneyApply(MoneyManage mm);

	String getTaskId(String id);

	int updateOwner(String realname, String taskId);

    /**
     * @param id
     * @return 请假发起---提交请假申请 将状态改为1（审核中）
     */
	int updateStatus(String id, Integer i);
    int updateStatus2(String id,String state);

    List<User> getUsers(String name);

    List<MoneyManage> moneyList(Integer rows, Integer page, String token,String project_name);

	MoneyManage getsingMoneyApplyInfo(String id);

    List<Comment> getComment(String processId);

    List<MoneyManage> getTaskMoney(Integer state, Integer size, String token);

    int getTaskMoneyCount(String token);
	MoneyManage getsingTaskMoney(String id);

    int updateSHR(MoneyManage mm);

	int updateJiafang(String jopen_bank, String jaccount_name, String jaccount_number, String id);

    List<MoneyManage> guiJiList(Integer state, Integer size, String token);

    MoneyManage getsingGuiJi(String id);
    List<Comment> getCommentInfo(String processId);

    String searchDepartmentId(String dbUser);//根据员工ID得到部门ID，用于权限控制
    List<MoneyGuiJi> searchRoleName(String dbUser);
    void insertMoneyGuiJi(MoneyGuiJi mg);
    void updateLiuChengApplyStatus(String id);

    List<MoneyManage> maxTime(String id);
    String maxCreateTime(String activityId);
    //轨迹明细列表
    List<MoneyGuiJi> getLiuChengGuiJi(Integer start, Integer length,String proId);
    //保存文件
    int saveFilename(List<MoneyFile> list);

    //获取用户权限
    Integer[] getUserRote(String id, String custormer);
    /**
     * 查看图片
     */
    List <MoneyFile>getImgS(String moneyId);

    /**
     * 撤销流程
     */
    int iscx(String id,String process_id,User user);
    int updateZT(String Id,String projectState);
    /**
     * 撤销流程专用修改流程编号==>流程表
     * @param process_id
     * @param id
     * @return
     */
    int updateExecution(String process_id,String id);
    /**
     * 撤销流程修改流程编号==>资金表
     * @param id
     * @param process_Id
     * @return
     */
    int updateCXLC(String id,String process_Id,String iscx,String aduit_state);
    /**
     * 撤销流程查询资金数据
     * @param id
     * @return
     */
    MoneyManage searchId(String id);
    /**
     * 查询资金编号
     * @param proId
     * @return
     */
    String searchId2(String proId);

    /**
     * @param id
     * @return 请假发起---提交请假申请 将状态改为1（审核中）
     * pocessId 流程实例id
     * id 主键id
     * dbUser  下一执行人
     *
     */
    public boolean updateState(String pocessId, Map<String,Object> variables, String id, String dbUser, String realname, String cl_time, String userId);
    /**
     * 合同编号去重
     * @param mm
     * @return
     */
    List<MoneyManage> searchApply(MoneyManage mm);
}
